/**
 * 
 */
package org.rk.core.common.anno;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 
 * @author:cavion
 * @描述：自定义注解帮助类
 * 2016年8月29日 上午9:50:39
 */
@Target({ java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface FieldMeta {
	/**
	 * 
	 * 2016年9月10日 上午10:02:57
	 * @author:cavion
	 * @描述：是否为主键
	 * @return
	 */
	boolean isPK() default false;
	
	/**
	 * 
	 * 2016年9月10日 上午10:02:57
	 * @author:cavion
	 * @描述：是否为唯一所以字段
	 * @return
	 */
	boolean isUnique() default false;

	/**
	 * 
	 * 2016年9月10日 上午10:02:50
	 * @author:cavion
	 * @描述：数据库字段名称
	 * @return
	 */
	String name();

	/**
	 * 
	 * 2016年9月10日 上午10:02:43
	 * @author:cavion
	 * @描述：列表查询时是否出现
	 * @return
	 */
	boolean isSummary() default true;
	
	/**
	 * @方法描述：是否查询
	 * @author:Cavion(曹仁道)
	 * @return
	 * 2017年1月15日
	 */
	boolean isSelect() default true;

	/**
	 * 
	 * 2016年9月10日 上午10:02:36
	 * @author:cavion
	 * @描述：字段描述
	 * @return
	 */
	String desc() default "";
	/**
	 * 
	 * @方法描述：默认值
	 * @author Cavion(曹仁道)
	 * @return
	 * 2016年11月12日 下午7:24:01
	 */
	String defaultValue() default "";

	/**
	 * 
	 * 2016年9月10日 上午10:02:19
	 * @author:cavion
	 * @描述：排序字段 ，除负数以外越小越优先，默认不排序
	 * @return
	 */
	int order() default -1;
	/**
	 * 
	 * 2016年9月10日 上午10:02:10
	 * @author:cavion
	 * @描述：排序方式
	 * @return
	 */
	String orderType() default "desc";
	
	/**
	 * 
	 * 2016年9月10日 上午10:01:51
	 * @author:cavion
	 * @描述：插入时是否插入
	 * @return
	 */
	boolean isInsert() default true;
	/**
	 * 
	 * 2016年9月10日 上午10:03:22
	 * @author:cavion
	 * @描述：跟新时是否更新
	 * @return
	 */
	boolean isUpdate() default true;
	
	/**
	 * 
	 * 2016年9月10日 上午10:03:22
	 * @author:cavion
	 * @描述：是否字典维护字段
	 * @return
	 */
	boolean isDicField() default false;
	/**
	 * @author:cavion
	 * @描述：字段长度
	 * 2016年10月27日 下午9:01:03
	 * @return
	 */
	int length() default 1;
}
